package top.hkyzf.study.leetcode;

import org.junit.Test;

/**
 * @author 朱峰
 * @date 2022-1-19 11:16
 */
public class 第一个错误的版本_278 {

    public int firstBadVersion(int n) {
        int start = 0;
        int end = n;
        while (start < end) {
            int middle = (end - start) / 2 + start;
            if(isBadVersion(middle)) {
                end = middle;
            } else {
                start = middle + 1;
            }
        }
        return start;
    }

    /**
     * 是不是错误版本
     * @param n 给定的版本
     * @return
     */
    public boolean isBadVersion(int n) {
        return n >= 4;
    }

    @Test
    public void testFirstBadVersion () {
        System.out.println(firstBadVersion(5));
    }
}
